$(function () {
  // 作用：用于预先处理 `$.ajax()` 参数选项。
  // type/url/success/data/headers/complete...... 这些都是 ajax 参数选项
  let index = 0
  // 请求基础地址
  const baseURL = 'http://localhost:8080/api/v1'
  $.ajaxPrefilter((options) => {
    // console.log(1111111111, options)
    // 需求1：统一添加加载状态
    options.beforeSend = () => {
      index = layer.load()
    }
    // 需求4：未登录状态，token 无效，统一跳转到登录页
    options.complete = (xhr) => {
      // console.log(xhr);
      // 请求完成时，隐藏加载状态
      layer.close(index)
      // 获取到 res 后端响应的对象
      const res = xhr.responseJSON
      if (res && res.code === 403) {
        // 未登录，直接去登录页，获取 token
        window.location.href = './login.html'
        // 清除token，有时候token过期，或者后端返回的数据有误，此时token就会存在
        localStorage.removeItem('token')
      }
    }
    // 需求2：统一在 headers 中添加 token 通行凭证
    options.headers = {
      Authorization: localStorage.getItem('token'),
    }
    // 需求3：统一添加请求基地址
    options.url = baseURL + options.url

  })
})